package sseGameApps.model.mdkbr;

import java.io.Serializable;

import com.google.appengine.api.datastore.Key;

import org.slim3.datastore.Attribute;
import org.slim3.datastore.Model;

@Model(schemaVersion = 1)
public class MdWorldMap implements Serializable {

    private static final long serialVersionUID = 1L;

    @Attribute(primaryKey = true)
    private Key key;

    @Attribute(version = true)
    private Long version;

    private String mapId;

    @Attribute(unindexed = true)
    private Integer areaNum;

    @Attribute(unindexed = true)
    private String areaType01;

    @Attribute(unindexed = true)
    private String areaType02;

    @Attribute(unindexed = true)
    private String areaType03;

    @Attribute(unindexed = true)
    private String areaType04;

    @Attribute(unindexed = true)
    private String areaType05;

    @Attribute(unindexed = true)
    private String areaType06;

    @Attribute(unindexed = true)
    private String areaType07;

    @Attribute(unindexed = true)
    private String areaType08;

    @Attribute(unindexed = true)
    private String areaType09;

    @Attribute(unindexed = true)
    private String areaType10;

    @Attribute(unindexed = true)
    private String areaType11;

    @Attribute(unindexed = true)
    private String areaType12;

    @Attribute(unindexed = true)
    private String areaType13;

    @Attribute(unindexed = true)
    private String areaType14;

    @Attribute(unindexed = true)
    private String areaType15;

    @Attribute(unindexed = true)
    private String areaType16;

    @Attribute(unindexed = true)
    private String areaType17;

    @Attribute(unindexed = true)
    private String areaType18;

    @Attribute(unindexed = true)
    private String areaType19;

    @Attribute(unindexed = true)
    private String areaType20;

    @Attribute(unindexed = true)
    private String areaType21;

    @Attribute(unindexed = true)
    private String areaType22;

    @Attribute(unindexed = true)
    private String areaType23;

    @Attribute(unindexed = true)
    private String areaType24;

    @Attribute(unindexed = true)
    private String areaType25;

    @Attribute(unindexed = true)
    private String areaType26;

    @Attribute(unindexed = true)
    private String areaType27;

    @Attribute(unindexed = true)
    private String areaType28;

    @Attribute(unindexed = true)
    private String areaType29;

    @Attribute(unindexed = true)
    private String areaType30;

    /**
     * Returns the key.
     *
     * @return the key
     */
    public Key getKey() {
        return key;
    }

    /**
     * Sets the key.
     *
     * @param key
     *            the key
     */
    public void setKey(Key key) {
        this.key = key;
    }

    /**
     * Returns the version.
     *
     * @return the version
     */
    public Long getVersion() {
        return version;
    }

    /**
     * Sets the version.
     *
     * @param version
     *            the version
     */
    public void setVersion(Long version) {
        this.version = version;
    }

    public String getMapId() {
        return mapId;
    }

    public void setMapId(String mapId) {
        this.mapId = mapId;
    }

    public Integer getAreaNum() {
        return areaNum;
    }

    public void setAreaNum(Integer areaNum) {
        this.areaNum = areaNum;
    }

    public String getAreaType01() {
        return areaType01;
    }

    public void setAreaType01(String areaType01) {
        this.areaType01 = areaType01;
    }

    public String getAreaType02() {
        return areaType02;
    }

    public void setAreaType02(String areaType02) {
        this.areaType02 = areaType02;
    }

    public String getAreaType03() {
        return areaType03;
    }

    public void setAreaType03(String areaType03) {
        this.areaType03 = areaType03;
    }

    public String getAreaType04() {
        return areaType04;
    }

    public void setAreaType04(String areaType04) {
        this.areaType04 = areaType04;
    }

    public String getAreaType05() {
        return areaType05;
    }

    public void setAreaType05(String areaType05) {
        this.areaType05 = areaType05;
    }

    public String getAreaType06() {
        return areaType06;
    }

    public void setAreaType06(String areaType06) {
        this.areaType06 = areaType06;
    }

    public String getAreaType07() {
        return areaType07;
    }

    public void setAreaType07(String areaType07) {
        this.areaType07 = areaType07;
    }

    public String getAreaType08() {
        return areaType08;
    }

    public void setAreaType08(String areaType08) {
        this.areaType08 = areaType08;
    }

    public String getAreaType09() {
        return areaType09;
    }

    public void setAreaType09(String areaType09) {
        this.areaType09 = areaType09;
    }

    public String getAreaType10() {
        return areaType10;
    }

    public void setAreaType10(String areaType10) {
        this.areaType10 = areaType10;
    }

    public String getAreaType11() {
        return areaType11;
    }

    public void setAreaType11(String areaType11) {
        this.areaType11 = areaType11;
    }

    public String getAreaType12() {
        return areaType12;
    }

    public void setAreaType12(String areaType12) {
        this.areaType12 = areaType12;
    }

    public String getAreaType13() {
        return areaType13;
    }

    public void setAreaType13(String areaType13) {
        this.areaType13 = areaType13;
    }

    public String getAreaType14() {
        return areaType14;
    }

    public void setAreaType14(String areaType14) {
        this.areaType14 = areaType14;
    }

    public String getAreaType15() {
        return areaType15;
    }

    public void setAreaType15(String areaType15) {
        this.areaType15 = areaType15;
    }

    public String getAreaType16() {
        return areaType16;
    }

    public void setAreaType16(String areaType16) {
        this.areaType16 = areaType16;
    }

    public String getAreaType17() {
        return areaType17;
    }

    public void setAreaType17(String areaType17) {
        this.areaType17 = areaType17;
    }

    public String getAreaType18() {
        return areaType18;
    }

    public void setAreaType18(String areaType18) {
        this.areaType18 = areaType18;
    }

    public String getAreaType19() {
        return areaType19;
    }

    public void setAreaType19(String areaType19) {
        this.areaType19 = areaType19;
    }

    public String getAreaType20() {
        return areaType20;
    }

    public void setAreaType20(String areaType20) {
        this.areaType20 = areaType20;
    }

    public String getAreaType21() {
        return areaType21;
    }

    public void setAreaType21(String areaType21) {
        this.areaType21 = areaType21;
    }

    public String getAreaType22() {
        return areaType22;
    }

    public void setAreaType22(String areaType22) {
        this.areaType22 = areaType22;
    }

    public String getAreaType23() {
        return areaType23;
    }

    public void setAreaType23(String areaType23) {
        this.areaType23 = areaType23;
    }

    public String getAreaType24() {
        return areaType24;
    }

    public void setAreaType24(String areaType24) {
        this.areaType24 = areaType24;
    }

    public String getAreaType25() {
        return areaType25;
    }

    public void setAreaType25(String areaType25) {
        this.areaType25 = areaType25;
    }

    public String getAreaType26() {
        return areaType26;
    }

    public void setAreaType26(String areaType26) {
        this.areaType26 = areaType26;
    }

    public String getAreaType27() {
        return areaType27;
    }

    public void setAreaType27(String areaType27) {
        this.areaType27 = areaType27;
    }

    public String getAreaType28() {
        return areaType28;
    }

    public void setAreaType28(String areaType28) {
        this.areaType28 = areaType28;
    }

    public String getAreaType29() {
        return areaType29;
    }

    public void setAreaType29(String areaType29) {
        this.areaType29 = areaType29;
    }

    public String getAreaType30() {
        return areaType30;
    }

    public void setAreaType30(String areaType30) {
        this.areaType30 = areaType30;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((key == null) ? 0 : key.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        MdWorldMap other = (MdWorldMap) obj;
        if (key == null) {
            if (other.key != null) {
                return false;
            }
        } else if (!key.equals(other.key)) {
            return false;
        }
        return true;
    }
}
